﻿using Microsoft.Extensions.Logging;
using ChatWithMultAI.Services;

namespace ChatWithMultAI
{
    /// <summary>
    /// 应用入口配置。用于初始化 .NET MAUI 应用，以及在启动时进行客户端环境的轻量初始化。
    /// </summary>
    public static class MauiProgram
    {
        /// <summary>
        /// 创建并返回 <see cref="MauiApp"/>。在构建完成后，会启动一个后台任务：
        /// 1) 自动创建/读取本地用户；2) 初始化当前用户的静态智能体。
        /// </summary>
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });

#if DEBUG
            builder.Logging.AddDebug();
#endif

            var app = builder.Build();

            // 启动时后台初始化（用户 + 智能体）。失败不影响 UI 首屏渲染。
            _ = Task.Run(() => AppConfig.InitializeAsync());

            return app;
        }
    }
}
